1. Field of the Invention
The present invention general relates to communication services, and more particularly, to the handling of a caller in a SIP network.
2. Description of Related Art
The proliferation of data transport networks, and most notably the Internet, is revolutionizing telephony and other forms of real-time communications. Businesses that have become accustomed to having telephony traffic and data traffic separately supported over different systems and networks are now moving toward a converged network where telephone voice traffic and other forms of real-time media are converted into digital form and carried by a packet data network along with other forms of data. Now that technologies are feasible to support packet based networking, voice over data transport offers many advantages in terms of reduced capital and operating cost, resource efficiency and flexibility.
For example, at commercial installations, customer equipment investments are substantially reduced as most of the enhanced functions, such as PBX and automatic call distribution functions, may reside in a service provider's network. Various types of gateways allow for sessions to be established even among diverse systems such IP phones, conventional analog phones and PBXs as well as with networked desktop computers.
To meet the demand for voice over data transport, service providers and network equipment vendors are faced with the challenges of establishing new protocols and standards, recognizing new business models, implementing new strategies and designing new equipment in a way that would have been difficult to imagine twenty years ago.
For example, a new generation of end-user terminal devices are now replacing the traditional telephones and even more recently PBX phone sets. These new sets, such as those offered by Cisco Systems Incorporated and Pingtel Corporation, may connect directly to a common packet data network, via, for example, an ethernet connection, and feature large visual displays to enhance the richness of the user interface.
Even before such devices were deployed, computers equipped with audio adapters and connected to the Internet were able to conduct some rudimentary forms of Internet telephony, although the quality was unpredictable and often very poor. The current trend is to focus upon adapting Internet protocol (IP) networks and other packet based transport networks to provide reliable toll-quality connections, easy call set-up and enhanced features to supply full-feature telephony as well as other forms of media transport. Some other types of media sessions enabled by such techniques may include video, high quality audio, multi-party conferencing, messaging, collaborative applications, and the like.
Of course, as a business or residential communications subscriber begins using such voice-over-packet communications to replace conventional telephony, there will naturally be an expectation that the quality of the communications and the variety of services will be at least as good as in the former telephone network. In terms of services, for example, some businesses have come to rely upon PBX features or network-resident “Centrex” features such as call forwarding and conditional call handling. Such special features are expected to see increased use because the new terminal devices mentioned earlier can provide a much more intuitive interface for users. With existing systems, users often forget which combination of keystrokes are required to evoke the enhanced features.
For establishing a communications session in a network, new protocols and control architectures have emerged. It is worth noting that these protocols and architectures have been inspired by the migration to a voice over data type topology but are not necessarily limited to such an environment. The protocols and control architectures as described hereinafter may be used to establish calls through any form of transport.
Both the ITU H.323 standard and the IETF's Session Initiation Protocol (SIP) are examples of protocols which may be used for establishing a communications session between terminals connected to a network. The SIP protocol is described in ITF document REC 2543, and its successors, all of which are incorporated herein by reference in their entirety, respectively. Various architectures have been proposed in conjunction with these protocols with a common theme of having an address resolution function, referred to as “location server,” which is located in the network and which maintains current information on how to reach any destination and to control features on behalf one or more users.
For large-scaled deployment of voice-over-data transport as well as other real-time communications, it is essential that the network control architectures be robust and highly scaleable to reliably accommodate millions of sessions on a daily basis. Robustness may necessitate designing in redundancy and may also include failover mechanisms. Preferably, these measures will even provide transparent continuity of existing sessions and features even if a failure occurs in the midst of a session. For insuring this level of reliability and for maximizing scaleability, it is generally preferable to minimize the demand upon control functions, such a location servers, to maintain persistent state information for each call in the network.
In general, session initiation protocol (SIP) is an application-layer control protocol that is capable of creating, modifying and terminating sessions between one or more participants. These sessions can include, for example, Internet telephone calls, multimedia distribution, multimedia conferences, voice-over IP, or the like.
The SIP invitations that are used to create sessions carry session descriptions that allow participants to agree on a set of one or more compatible media types. SIP utilizes proxy servers to help route requests to the user's current location, authenticate and authorize users for one or more services, implement provider call-routing policies, and to provide additional features and advanced features to users. SIP also provides a registration function which allows users to identify their current location which then can be used by the proxy server.
A session is an exchange of data between an association of participants. Numerous applications on the Internet, such as real-time distributed network communications, require the creation, management and maintenance of one or more sessions. However, the implementation of these applications is complicated by the practices of participants, e.g., the participants may move between physical locations, the participants may be addressable by a plurality of identifiers, and the participants may communicate using several types of communications media, sometimes in parallel. Many protocols have been developed to transport various forms of real-time multimedia session data, such as voice, video or text messages. SIP works in concert with these protocols by enabling Internet endpoints, i.e., user agents, to locate one another and to reconcile aspects of a session to be shared. For locating perspective session participants, and for other functions, SIP enables the creation of an infrastructure of network hosts, i.e., proxy servers, to which user agents can send registrations, invitations to sessions, other requests, and the like. Therefore, SIP provides a mechanism for creating, modifying and terminating sessions that is capable of working independently of the underlining transport protocols and without a dependence on the type of session.
As discussed above, SIP is an application-layer control protocol that is capable of establishing, modifying and terminating multi-media sessions. These sessions can include, Internet telephony calls, multimedia exchanges, or the like. SIP is also capable of inviting participants to already existing sessions, such as multicast conferences. Media can be added to and removed from existing sessions at any point and time during the session. Furthermore, SIP can transparently support name mapping and redirection services which allow a user to maintain a single externally visible identifier while moving to numerous locations within one or more networks.
Specifically, SIP is a component that can be used in conjunction with other IETF protocols that are combined to create a complete multimedia architecture. Typically these architectures will include protocols such as the real-time transport protocol (RTP) for transporting real-time data and providing quality of service feedback, the real-time streaming protocol that controls delivery of streaming media, the media gateway control protocol that controls gateways to the public switched telephone network, the session description protocol that describes multimedia sessions, and the like. Therefore, SIP can be used in conjunction with other protocols in order to provide complete services to one or more users thus enabling the basic functionality of SIP to work with any protocol, and not be dependent thereon.
Likewise, SIP provides primitives that can be used to implement a plurality of services. For example, SIP can locate a user and deliver an object to that users currently registered location. If this primitive is used to deliver a session description, the endpoints can agree on the parameters of the session and if the same primitive is used to delivery other information related to the caller, as well as the session description, a caller ID type of service could be implemented. Thus, a single primitive can typically be used to provide several different services.